package edu.nf.relaxenjoy.mapper;

import edu.nf.relaxenjoy.domain.entity.AlbumRelation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zhu
 * @date 2024-12-15
 */
public interface AlbumRelationMapper {

    /**
     * 查询该专辑下的内容图片
     * @param pageNum 分页参数，第几页
     * @param pageSize 分页参数，每页几条
     * @param aid 专辑id
     * @return 实体集合
     */
    List<AlbumRelation> getPage(@Param("pageNum") Long pageNum, @Param("pageSize") Long pageSize, Long aid);

    /**
     * 查询该内容所属的所有专辑
     * @param mid 内容id
     * @return
     */
    List<AlbumRelation> getListByMid(Long mid);

    /**
     * 批量查询
     * @param mids
     * @return
     */
    List<AlbumRelation> getListByMids(List<Long> mids);

    /**
     * 添加专辑与内容的关系
     * @param albumRelation
     */
    void insert(AlbumRelation albumRelation);

    /**
     * 通过专辑id和内容id查询
     * @param aid
     * @param mid
     * @return
     */
    AlbumRelation getOne(Long aid, Long mid);

    /**
     * 删除专辑和内容的关系
     * @param albumRelation
     */
    void remove(AlbumRelation albumRelation);

    /**
     * 根据专辑id和内容id去删除
     * @param aid
     * @param mid
     */
    void removeOne(Long aid,Long mid);
}
